package com.mzj.saas.mservice.contract.entity;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 合同表
 */
@Entity
@Table(name = "saas_house_contract")
public class Contract {
	@Id
	@Basic
	@Column(name = "contract_nubmer", nullable = true)
	private String contractNubmer; // 签约编号:自动生成，长度固定8位
	
	private Integer type;// 合同生成方式：1契约锁 2线下

	@Basic
	@Column(name = "contract_template_number", nullable = true)
	private String contractTemplateNumber; // 合同模板id

	@Basic
	@Column(name = "contract_id", nullable = true)
	private String contractId;// 合同签章ID(契约锁)

	@Basic
	@Column(name = "document_id", nullable = true)
	private String documentId;// 合同文档ID(契约锁)

	@Basic
	@Column(name = "house_id", nullable = true)
	private String houseId; // 公租房id

	@Basic
	@Column(name = "match_user_id", nullable = true)
	private String matchUserId; //承租人

	@Basic
	@Column(name = "lessor_name", nullable = true)
	private String lessorName; // 出租方(甲方)
	
	@Basic
	@Column(name = "lessor_user_name", nullable = true)
	private String lessorUserName; // 出租方(甲方)

	@Basic
	@Column(name = "lessor_mobile", nullable = true)
	private String lessorMobile; // 出租方联系电话

	@Basic
	@Column(name = "leasee_name", nullable = true)
	private String leaseeName; // 承租方(乙方)

	@Basic
	@Column(name = "leasee_mobile", nullable = true)
	private String leaseeMobile; // 承租方联系电话

	@Basic
	@Column(name = "card_number", nullable = true)
	private String cardNumber; // 身份证号

	@Basic
	@Column(name = "start_time", nullable = true)
	private Date startTime; // 开始时间

	@Basic
	@Column(name = "ent_time", nullable = true)
	private Date entTime; // 结束时间

	@Basic
	@Column(name = "housing_area", nullable = true)
	private BigDecimal housingArea; // 房屋面积

	@Basic
	@Column(name = "rent_unit_amount", nullable = true)
	private Integer rentUnitAmount; // 租金标准：元/平方米/月，单位分

	@Basic
	@Column(name = "rent_amount", nullable = true)
	private Integer rentAmount; // 租金，单位分

	@Basic
	@Column(name = "pay_type", nullable = true)
	private Integer payType; // 缴纳方式：1首次年付，后续按月 2首次年付、后续按季 3首次年付，后续按半年
								// 4首次年付，后续按年

	@Basic
	@Column(name = "earnest_money", nullable = true)
	private Integer earnestMoney; // 履约保证金

	@Basic
	@Column(name = "province_id", nullable = true)
	private Long provinceId; // 省

	@Basic
	@Column(name = "city_id", nullable = true)
	private Long cityId; // 市

	@Basic
	@Column(name = "district_id", nullable = true)
	private Long districtId; // 区

	@Basic
	@Column(name = "street_id", nullable = true)
	private Long streetId; // 街道

	@Basic
	@Column(name = "address", nullable = true)
	private String address; // 地址

	@Basic
	@Column(name = "room", nullable = true)
	private Integer room; // 房

	@Basic
	@Column(name = "hall", nullable = true)
	private Integer hall; // 厅

	@Basic
	@Column(name = "toilet", nullable = true)
	private Integer toilet; // 卫

	@Basic
	@Column(name = "status", nullable = true)
	private Integer status; // 合同状态
	
	@Basic
	@Column(name = "business_type", nullable = true)
	private Integer businessType; // 业务类型：1签约 2续约

	@Basic
	@Column(name = "contract_time", nullable = true)
	private Date contractTime; // 签约时间：乙方签约后自动生成时间

	@Basic
	@Column(name = "signing_file_url", nullable = true)
	private String signingFileUrl; // 乙方签字合同文件

	@Basic
	@Column(name = "contract_file_url", nullable = true)
	private String contractFileUrl; // 甲方签字合同文件

	@Basic
	@Column(name = "short_url", nullable = true)
	private String shortUrl; // 电子签约短链接

	@Basic
	@Column(name = "contract_doc_url", nullable = true)
	private String contractDocUrl; // 电子签章合同文件

	@Basic
	@Column(name = "reminder_time", nullable = true)
	private Date reminderTime; // 默认提前一个月

	@Basic
	@Column(name = "operation_id", nullable = true)
	private String operationId; // 操作人

	@Basic
	@Column(name = "operation_time", nullable = true)
	private Date operationTime; // 操作时间

	public String getContractNubmer() {
		return contractNubmer;
	}

	public void setContractNubmer(String contractNubmer) {
		this.contractNubmer = contractNubmer;
	}

	public String getContractTemplateNumber() {
		return contractTemplateNumber;
	}

	public void setContractTemplateNumber(String contractTemplateNumber) {
		this.contractTemplateNumber = contractTemplateNumber;
	}

	public String getHouseId() {
		return houseId;
	}

	public void setHouseId(String houseId) {
		this.houseId = houseId;
	}

	public String getMatchUserId() {
		return matchUserId;
	}

	public void setMatchUserId(String matchUserId) {
		this.matchUserId = matchUserId;
	}

	public String getLessorName() {
		return lessorName;
	}

	public void setLessorName(String lessorName) {
		this.lessorName = lessorName;
	}

	public String getLessorMobile() {
		return lessorMobile;
	}

	public void setLessorMobile(String lessorMobile) {
		this.lessorMobile = lessorMobile;
	}

	public String getLeaseeName() {
		return leaseeName;
	}

	public void setLeaseeName(String leaseeName) {
		this.leaseeName = leaseeName;
	}

	public String getLeaseeMobile() {
		return leaseeMobile;
	}

	public void setLeaseeMobile(String leaseeMobile) {
		this.leaseeMobile = leaseeMobile;
	}

	public String getCardNumber() {
		return cardNumber;
	}

	public void setCardNumber(String cardNumber) {
		this.cardNumber = cardNumber;
	}

	public Date getStartTime() {
		return startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	public Date getEntTime() {
		return entTime;
	}

	public void setEntTime(Date entTime) {
		this.entTime = entTime;
	}

	public BigDecimal getHousingArea() {
		return housingArea;
	}

	public void setHousingArea(BigDecimal housingArea) {
		this.housingArea = housingArea;
	}

	public Integer getRentUnitAmount() {
		return rentUnitAmount;
	}

	public void setRentUnitAmount(Integer rentUnitAmount) {
		this.rentUnitAmount = rentUnitAmount;
	}

	public Integer getRentAmount() {
		return rentAmount;
	}

	public void setRentAmount(Integer rentAmount) {
		this.rentAmount = rentAmount;
	}

	public Integer getPayType() {
		return payType;
	}

	public void setPayType(Integer payType) {
		this.payType = payType;
	}

	public Integer getEarnestMoney() {
		return earnestMoney;
	}

	public void setEarnestMoney(Integer earnestMoney) {
		this.earnestMoney = earnestMoney;
	}

	public Long getProvinceId() {
		return provinceId;
	}

	public void setProvinceId(Long provinceId) {
		this.provinceId = provinceId;
	}

	public Long getCityId() {
		return cityId;
	}

	public void setCityId(Long cityId) {
		this.cityId = cityId;
	}

	public Long getDistrictId() {
		return districtId;
	}

	public void setDistrictId(Long districtId) {
		this.districtId = districtId;
	}

	public Long getStreetId() {
		return streetId;
	}

	public void setStreetId(Long streetId) {
		this.streetId = streetId;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public Integer getRoom() {
		return room;
	}

	public void setRoom(Integer room) {
		this.room = room;
	}

	public Integer getHall() {
		return hall;
	}

	public void setHall(Integer hall) {
		this.hall = hall;
	}

	public Integer getToilet() {
		return toilet;
	}

	public void setToilet(Integer toilet) {
		this.toilet = toilet;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getContractTime() {
		return contractTime;
	}

	public void setContractTime(Date contractTime) {
		this.contractTime = contractTime;
	}

	public String getSigningFileUrl() {
		return signingFileUrl;
	}

	public void setSigningFileUrl(String signingFileUrl) {
		this.signingFileUrl = signingFileUrl;
	}

	public String getContractFileUrl() {
		return contractFileUrl;
	}

	public void setContractFileUrl(String contractFileUrl) {
		this.contractFileUrl = contractFileUrl;
	}

	public Date getReminderTime() {
		return reminderTime;
	}

	public void setReminderTime(Date reminderTime) {
		this.reminderTime = reminderTime;
	}

	public String getOperationId() {
		return operationId;
	}

	public void setOperationId(String operationId) {
		this.operationId = operationId;
	}

	public Date getOperationTime() {
		return operationTime;
	}

	public void setOperationTime(Date operationTime) {
		this.operationTime = operationTime;
	}

	public String getContractId() {
		return contractId;
	}

	public void setContractId(String contractId) {
		this.contractId = contractId;
	}

	public String getDocumentId() {
		return documentId;
	}

	public void setDocumentId(String documentId) {
		this.documentId = documentId;
	}

	public String getShortUrl() {
		return shortUrl;
	}

	public void setShortUrl(String shortUrl) {
		this.shortUrl = shortUrl;
	}

	public String getContractDocUrl() {
		return contractDocUrl;
	}

	public void setContractDocUrl(String contractDocUrl) {
		this.contractDocUrl = contractDocUrl;
	}

	public Integer getBusinessType() {
		return businessType;
	}

	public void setBusinessType(Integer businessType) {
		this.businessType = businessType;
	}

	public String getLessorUserName() {
		return lessorUserName;
	}

	public void setLessorUserName(String lessorUserName) {
		this.lessorUserName = lessorUserName;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

}
